Multicast is the preferred method for distributing Internet Protocol Television (IPTV) to residential users. The Internet Group Management Protocol (IGMP) is an IP-based control protocol that is used to signal membership of an end station to a multicast group (TV channel) in a bridged network. In order to reap the benefits associated with multicast, IGMP snooping may be employed by intermediary nodes to prune multicast trees in a network to make efficient use of limited resources.
IGMP snooping is designed to prevent hosts on a local network from receiving traffic for a multicast group they have not explicitly joined. IGMP snooping is a feature that allows a layer 2 switch to “listen in” on the IGMP conversation between hosts and routers by processing the layer 3 IGMP packets sent in a multicast network. When IGMP snooping is enabled in a switch, the switch analyzes all IGMP packets between hosts connected to the switch and multicast routers in the network. When a switch hears an IGMP report from a host for a given multicast group, the switch adds the host's port number to the multicast list for that group. Likewise, when the switch hears an IGMP Leave, it removes the host's port from the table entry. Thus, IGMP snooping provides switches with a mechanism to prune multicast traffic from links that do not contain a multicast listener (i.e., IGMP client).
Several IEEE standards impact the multicasting of IPTV over Provider Backbone Bridge Networks (PBBNs) and Provider Bridge Networks (PBNs). The applicable standards are IEEE Standard 802.1ad (Provider Bridges), IEEE Standard 802.1ah (Provider Backbone Bridges), and IEEE Standard 802.1ak (Multiple Registration Protocol).
Ethernet is L2 and IP is L3, but both protocols perform packet switching; both can scale globally; both use dynamic topology protocols; and both can provide protection, Quality of Service (QoS), and traffic engineering. The fundamental difference is connectivity; IP can provide global any-to-any connectivity while Provider Ethernet can provide global connectivity between provisioned sets of network interfaces.
IGMP snooping performs a layer violation between layer 3 (IP) and layer 2 (Ethernet) because it is an IP protocol that controls the behavior of multicast streams in Ethernet bridges. This may cause problems in PBBNs (802.1ah) as the IGMP Packet Data Units (PDUs) are encapsulated in backbone frames.
FIG. 1 is a simplified block diagram of a PBBN 11 interfacing with two PBNs 12-13 to distribute a multicast service. In this example, a point-to-point backbone VLAN service is established in the PBBN to distribute the multicast service to the PBNs. Ingress Ethernet frames from the PBNs are encapsulated with new header fields including the Backbone source and destination Media Access Control (MAC) addresses, B-tag, and I-tag. In essence this completely hides IGMP messages in the PBBN and makes IGMP snooping impossible.
In this scenario, even L2 multicast protocols such as the MAC Address Multiple Registration Protocol (MMRP) are insufficient. The problem is associated with the way that PBN customer frames are encapsulated by the Backbone Edge Bridges (BEBs) at the edges of the PBBN. According to the IEEE Std 802.1ah-2008, standard customer frames that have a Group MAC address as their destination address are encapsulated into Backbone frames that always have the Default Backbone Destination address as their Backbone destination MAC address. The Default Backbone Destination address is a special address built by concatenating the Provider Backbone Bridge Organizationally Unique Identifier (OUI) (00-1E-83) with the Service Instance Identifier (I-SID) value identifying the customer service instance in the backbone. This does not allow differentiation of the customer multicast services in the backbone and severely constrains the pruning capabilities on these services. Customer multicast frames associated with the same backbone I-SID are always mapped to the same backbone multicast service and correspondingly the capability to individually control each such multicast service in the backbone is lost.